The present invention relates to controllers for controlling digital devices and particularly to controllers employed in data processing systems of all sizes.
Controllers are typically connected over an input/output interface to one or more controlled devices. The controllers function to produce a particular set of output signals which is a function, in part, of the particular set of input signals received. In general, it is desirable for the controllers to produce the output signals in as short a time as possible. The number and logical state of input and output signals and the sequence in which they occur varies widely among different controlled devices.
Frequently the control functions necessary to control digital devices have been embodied in dedicated controllers which perform dedicated logic functions. For example in a magnetic disc system, a disc drive is controlled by a magnetic disc controller. The disc controller controls the disc drive and integrates the disc drive into a larger processing system. Controllers of the dedicated type suffer from an inflexibility which results because they are designed for use with a single type of digital device and hence, they are not readily adapted for use with other devices.
In order to obtain greater flexibility in implementing control functions, programmable small processors (frequently called microprocessor) can be employed as controllers for digital devices. Although programmable processors have greater flexibility, they are generally inefficient when used to perform control functions. The inefficiency arises, in part, because processors are generally organized to optimize execution time with apparatus in which instructions and operands are addressed and accessed from common memory with common circuitry. For these and other reasons, programmable processors have not allowed the full potential of processors to be directed to performing control functions.
In accordance with the above background, an object of the present invention is to provide an improved method and apparatus for controlling digital devices utilizing the flexibility of stored programs of instruction in an apparatus particularly suitable for performing control functions.